J. Chen et al, “(Almost) Tight Bounds and Existence Theorems for Confluent Flows,” Proc. of the 36th ACM Symposium on Theory of Computing (STOC), 529-38 (2004) describes routing techniques for a class of network flows referred to as confluent flows. In particular, Chen et al describe techniques for finding confluent flows with small congestions. The congestion of a node is the load of the node divided by the node capacity, where the load of a node v is the total flow value through v (including the demand of v itself). A flow in a directed graph is said to be a confluent flow if the entire flow departing a node for a particular destination is along a single outgoing edge. Confluent flows are often used in routing Internet traffic. Generally, Internet routing is typically based on selecting a shortest path tree to each destination and then routing along the selected shortest paths. Thus, all packets that depart a router for a particular destination use the same outgoing edge.
Consider a directed network G=(V,A) with sink node t. Each node v∈V wants to route rv units of flow to the sink, and each node v∈V has a fixed uniform capacity (by scaling, this capacity is taken to be one, as fractional rv values are allowed). Bounded out-degree flows are feasible flows whose support graph has a bounded out-degree at every node. The maximum out-device of any node is at most n, where n is the number of nodes in the network. The class of network flows with out-degree at most d is denoted by Xd. The cases d∈{1,2,n} are of particular interest. These flow classes are:                Xn (Fractional Flows): flow from a node v to the sink t may be routed fractionally along any path; in particular, v may send flow on any number of outgoing arcs;        X1 (Confluent Flows): flow from v to t must be routed on a unique path; in particular, v sends flow on at most one outgoing arc; and        X2 (Bifurcated Flows): flow may be sent from v on at most two outgoing arcs.        
Bounded degree flows are natural and elegant combinatorial objects in their own right. Interest in them, however, is primarily motivated by certain distributed routing protocols. For example, consider how confluent flows are produced by the Open Shortest Path First (OSPF) protocol. This protocol is essentially a distributed implementation of the Dijkstra algorithm. Consequently, for a specific network destination t, OSPF populates each router v's next hop entry for t with some neighbor u of v for which there is a shortest path from v to t through u. In this context, “shortest” is determined with respect to some costs on the links (arcs) and, in intra-domain networks, these costs may be altered by the network operator to achieve better traffic flow through the network (see, for example, B. Fortz and M. Thorup, “Optimizing OSPF/IS-IS Weights in a Changing World,” IEEE Journal on Selected Areas in Communications (Special Issue on Recent Advances on Fundamentals of Network Management), 20(4), 756-67 (2002). Hence, under these constraints, the collective flow destined for t is routed along a directed at borescence (rooted at t), that is, a confluent flow.
In many intra-domain networks, however, flows with higher but bounded degrees are allowed. For example, if there is more than one “shortest path” from v to t, operators may often place two or more next hops for t in the routing table. Traffic to t is then typically split using a round-robin approach. A need therefore exists for improved routing techniques for bifurcated flows.